/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package minimundo.comercio;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Valdirene
 */
public class AgenciaBancaria {
    private Banco banco;
    private List<Funcionario> funcionarios = new ArrayList<Funcionario>();
    private Funcionario gerente;
    private String numero;
    
     /**
     * @return Retorna uma lista dos funcionário do banco
     */
    public List<Funcionario> getFuncionarios() {
        return funcionarios;
    }

    /**
     * @param Adiciona um funcionário de na lista de funcionário do banco
     */
    public void setFuncionario(Funcionario funcionario) {
        if(!funcionarios.contains(funcionario))
            funcionarios.add(funcionario);
        else
            System.out.println("Não foi possível adiciona "+funcionario.getPessoa().getNome()+" a lista de funcionário, pois ele já está cadastrada!");
    }

    /**
     *
     * @param Remove um funcionário da lista de funcionário
     */
    public void demitirFuncionario(Funcionario funcionario)
    {
        if(funcionarios.contains(funcionario))
            funcionarios.remove(funcionario);
        else
            System.out.println("Não foi possível demitir "+funcionario.getPessoa().getNome()+", pois ele nem foi contratado.");
    }

    /**
     *
     * @param Funcionário no qual quer saber o seu salário
     * @return Retorna o salário do funcionário passado como parâmentro
     */
    public double getSalarioFuncionario(Funcionario funcionario)
    {
        if(funcionarios.contains(funcionario))
        {
            return funcionario.getSalario();
        }
        else
        {
            System.out.println("Desculpe, mas "+ funcionario.getPessoa().getNome() +" não é funcionário do banco!");
        }
        return 0;
    }
    /**
     * @return Retorna qual banco pertence essa agência
     */
    public Banco getBanco() {
        return banco;
    }

    /**
     * @param Define qual banco esse agência pertence
     */
    public void setBanco(Banco banco) {
        this.banco = banco;
    }

    /**
     * @return Retorna o gerente da agência
     */
    public Funcionario getGerente() {
        return gerente;
    }

    /**
     * @param Define um gerênte pra agência
     */
    public void setGerente(Funcionario gerente) {
        this.gerente = gerente;
    }

    /**
     * @return Retorna o número da agência
     */
    public String getNumero() {
        return numero;
    }

    /**
     * @param Define um número para essa agência
     */
    public void setNumero(String numero) {
        this.numero = numero;
    }
}
